//package gw.com.android.ui.quote2;
//
//import android.os.Bundle;
//import android.os.Handler;
//import android.os.Message;
//import android.support.v7.widget.LinearLayoutManager;
//import android.view.LayoutInflater;
//import android.view.View;
//import android.view.ViewGroup;
//import android.widget.TextView;
//
//import com.gwtsz.android.rxbus.RxBus;
//import com.gwtsz.gts2.hx.R;
//
//import java.util.ArrayList;
//import java.util.HashSet;
//import java.util.Timer;
//import java.util.TimerTask;
//
//import butterknife.BindView;
//import butterknife.ButterKnife;
//import butterknife.OnClick;
//import gw.com.android.app.AppContances;
//import gw.com.android.model.ConfigType;
//import gw.com.android.model.ConfigUtil;
//import gw.com.android.model.DataManager;
//import gw.com.android.terminal.AppTerminal;
//import gw.com.android.utils.MobclickEventUtlis;
//import gw.com.android.utils.ServerConnnectUtil;
//import gw.com.jni.library.terminal.GTSConst;
//import io.reactivex.android.schedulers.AndroidSchedulers;
//import io.reactivex.annotations.NonNull;
//import io.reactivex.disposables.Disposable;
//import io.reactivex.functions.Consumer;
//import www.com.library.app.Logger;
//import www.com.library.app.PushMsgTabFragment;
//import www.com.library.model.DataItemDetail;
//import www.com.library.model.DataItemResult;
//import www.com.library.view.EfficientRecyclerView;
//import www.com.library.view.LoadingProgress;
//import www.com.library.view.RecycleViewDivider;
//
///**
// * 热门产品列表界面(没用了，先屏蔽，免得影响编译速度)
// */
//public class QuoteHotFragment extends PushMsgTabFragment {
//
//    /** 数据加载圈 */
//    @BindView(R.id.loading_progress_view)
//    LoadingProgress mProgress;
//
//    @BindView(R.id.percent_speed_title)
//    TextView mPrecentSpeedView;
//    /** 产品列表控件 **/
//    @BindView(R.id.percent_speed_list)
//    EfficientRecyclerView mSpeedListView;
//    @BindView(R.id.percent_up_title)
//    TextView mPrecentUpView;
//    /** 产品列表控件 **/
//    @BindView(R.id.percent_up_list)
//    EfficientRecyclerView mUpListView;
//    @BindView(R.id.percent_down_title)
//    TextView mPrecentDownView;
//    /** 产品列表控件 **/
//    @BindView(R.id.percent_down_list)
//    EfficientRecyclerView mDownListView;
//    @BindView(R.id.content_scroll_view)
//    View mContentView;
//
//    private QuoteProductListAdapter2 mSpeedAdapter;
//    private QuoteProductListAdapter2 mUpAdapter;
//    private QuoteProductListAdapter2 mDownAdapter;
//
//    private DataItemResult mSpeedData = new DataItemResult();
//    private DataItemResult mUpData = new DataItemResult();
//    private DataItemResult mDownData = new DataItemResult();
//    private int column = ConfigUtil.instance().mConfigObject.optInt(ConfigType.HOT_QUOTE_NUM_TAG);
//    private HashSet<Integer> hashSet = new HashSet<Integer>();
//    public QuoteHotFragment() {
//    }
//
//    public static QuoteHotFragment newInstance() {
//        QuoteHotFragment fragment = new QuoteHotFragment();
//        Bundle args = new Bundle();
//        fragment.setArguments(args);
//        return fragment;
//    }
//
//    @Override
//    public void onCreate(Bundle savedInstanceState) {
//        super.onCreate(savedInstanceState);
//        if (getArguments() != null) {
//
//        }
//    }
//
//    @Override
//    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
//        super.onCreateView(inflater,container,savedInstanceState);
//        return mRootView;
//    }
//
//    @Override
//    protected int getLayoutId() {
//        return R.layout.fragment_main_new_quote_hot;
//    }
//
//    @Override
//    protected void initLayoutView() {
//        ButterKnife.bind(this, mRootView);
//        // 抢占点击事件，以便下层界面不可点击
//        mProgress.setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
//
//            }
//        });
//
//        mContentView.setVisibility(View.GONE);
//
//        mSpeedListView.setLayoutManager(new LinearLayoutManager(getActivity()));
//        mSpeedListView.addItemDecoration(new RecycleViewDivider(
//                getActivity(), LinearLayoutManager.VERTICAL, R.drawable.common_divider_left20_bg));
//        mSpeedListView.setNestedScrollingEnabled(false);
//
//        mUpListView.setLayoutManager(new LinearLayoutManager(getActivity()));
//        mUpListView.addItemDecoration(new RecycleViewDivider(
//                getActivity(), LinearLayoutManager.VERTICAL, R.drawable.common_divider_left20_bg));
//        mUpListView.setNestedScrollingEnabled(false);
//
//        mDownListView.setLayoutManager(new LinearLayoutManager(getActivity()));
//        mDownListView.addItemDecoration(new RecycleViewDivider(
//                getActivity(), LinearLayoutManager.VERTICAL, R.drawable.common_divider_left20_bg));
//        mDownListView.setNestedScrollingEnabled(false);
//
//        mSpeedAdapter = new QuoteProductListAdapter2(getActivity(),false);
//        mSpeedListView.setAdapter(mSpeedAdapter);
//
//        mUpAdapter = new QuoteProductListAdapter2(getActivity(),false);
//        mUpListView.setAdapter(mUpAdapter);
//
//        mDownAdapter = new QuoteProductListAdapter2(getActivity(),false);
//        mDownListView.setAdapter(mDownAdapter);
//    }
//
//    @Override
//    protected void initViewData() {
//
//    }
//
//    @Override
//    public void registerRxBus() {
//        Disposable quoteAllRegister = RxBus.getInstance().registertoObservableSticky(GTSConst.REPLY_SYMBOL_ALLLIST+"", Bundle.class).observeOn(AndroidSchedulers.mainThread())
//                .subscribe(new Consumer<Bundle>(){
//
//                    @Override
//                    public void accept(@NonNull Bundle bundle) throws Exception {
//                        onSymbolNotify();
//                    }
//                });
//
//        bindSubscription(quoteAllRegister);
//
//        Disposable quoteUpdateRegister = RxBus.getInstance().register(GTSConst.REPLY_SYMBOL_UPDATE+"", DataItemDetail.class).observeOn(AndroidSchedulers.mainThread())
//                .subscribe(new Consumer<DataItemDetail>(){
//
//                    @Override
//                    public void accept(@NonNull DataItemDetail model) throws Exception {
//                        onSymbolNotify();
//                    }
//                });
//
//        bindSubscription(quoteUpdateRegister);
//
//        Disposable quoteTickRegister = RxBus.getInstance().register(GTSConst.REPLY_SYMBOL_TICK_UPDATE+"", DataItemDetail.class).observeOn(AndroidSchedulers.mainThread())
//                .subscribe(new Consumer<DataItemDetail>(){
//
//                    @Override
//                    public void accept(@NonNull DataItemDetail model) throws Exception {
//                        if (null != model) {
//                            onSymbolNotify(model.getInt(GTSConst.JSON_KEY_CODEID));
//                        }
//                    }
//                });
//
//        bindSubscription(quoteTickRegister);
//    }
//
//    public Timer timer = new Timer();
//    public TimerTask task;
//
//    /**
//     * 初始化定时任务(处理超时)
//     */
//    public void initTimerTask() {
//        try {
//            Logger.e("QuoteHotFragment 初始化定时器 is ");
//            // 初始化定时器
//            task = new TimerTask() {
//                @Override
//                public void run() {
//                    handler.sendEmptyMessage(AppContances.HANDLER_TIME_OUT);
//                }
//            };
//            // 启动定时器,设定时间内如果没有响应,则提示超时信息
//            timer.schedule(task, ConfigUtil.instance().getHotQuoteTime());
//        } catch (Exception e) {
//            Logger.e("初始化定时任务异常！", e);
//        }
//    }
//
//    /**
//     * 取消超时定时
//     */
//    public void cancelTask(){
//        if (null != task) {
//            task.cancel();
//            task = null;
//        }
//    }
//
//    public Handler handler = new Handler() {
//        @Override
//        public void handleMessage(Message msg) {
//            super.handleMessage(msg);
//            try {
//                switch (msg.what) {
//                    case AppContances.HANDLER_TIME_OUT:
//                        cancelTask();
//                        if(ServerConnnectUtil.instance().isQuoteConnect){
//                            onSymbolNotify();
//                        }
//                        break;
//                }
//            } catch (Exception e) {
//                Logger.e("服务器加载数据异常！", e);
//            }
//
//        }
//    };
//
//    /**
//     * 获取涨速榜产品数据
//     */
//    private void getSpeedProduct() {
//        mSpeedData.clear();
//        getSortTick(mSpeedData, AppContances.SORT_SPEED_TYPE);
//        if(null != mSpeedAdapter){
//            mSpeedAdapter.refreshData(mSpeedData);
//            mSpeedAdapter.notifyDataSetChanged();
//        }
//        if(null != mSpeedListView){
//            mSpeedListView.setVisibility(View.VISIBLE);
//        }
//    }
//
//    /**
//     * 获取涨幅榜产品数据
//     */
//    private void getUpProduct() {
//        mUpData.clear();
//        getSortTick(mUpData, AppContances.SORT_UP_TYPE);
//        if(null != mUpAdapter){
//            mUpAdapter.refreshData(mUpData);
//            mUpAdapter.notifyDataSetChanged();
//        }
//        if(null != mUpListView){
//            mUpListView.setVisibility(View.VISIBLE);
//        }
//    }
//
//    /**
//     * 获取跌幅榜产品数据
//     */
//    private void getDownProduct() {
//        mDownData.clear();
//        getSortTick(mDownData, AppContances.SORT_DOWN_TYPE);
//        if(null != mDownAdapter){
//            mDownAdapter.refreshData(mDownData);
//            mDownAdapter.notifyDataSetChanged();
//        }
//        if(null != mDownListView){
//            mDownListView.setVisibility(View.VISIBLE);
//        }
//    }
//
//    /**
//     * 排序获取热门产品
//     * @param sortList
//     * @param sortType
//     */
//    private void getSortTick(DataItemResult sortList, int sortType){
//        DataItemResult result = DataManager.instance().getAllTickList();
//        DataItemResult tmpList = DataManager.instance().getSortTickList(result, sortType);
//        for (int i = 0; i < column; i++){
//            sortList.addItem(tmpList.getItem(i));
//            hashSet.add(tmpList.getItem(i).getInt(GTSConst.JSON_KEY_CODEID));
//        }
//    }
//
//    @OnClick(R.id.percent_speed_title)
//    void onSpeedClik(){
//        if(mPrecentSpeedView.isSelected()){
//            mPrecentSpeedView.setSelected(false);
//            mPrecentSpeedView.setCompoundDrawablesWithIntrinsicBounds(0,0, R.mipmap.a_small_developup,0);
//            mSpeedListView.setVisibility(View.VISIBLE);
//            MobclickEventUtlis.MobclickEventByAccountType(getActivity(),"ClickSpeedOpen");
//        }else{
//            mPrecentSpeedView.setSelected(true);
//            mPrecentSpeedView.setCompoundDrawablesWithIntrinsicBounds(0,0, R.mipmap.a_small_developdown,0);
//            mSpeedListView.setVisibility(View.GONE);
//            MobclickEventUtlis.MobclickEventByAccountType(getActivity(),"ClickSpeedStop");
//        }
//    }
//
//    @OnClick(R.id.percent_up_title)
//    void onUpClik(){
//        if(mPrecentUpView.isSelected()){
//            mPrecentUpView.setSelected(false);
//            mPrecentUpView.setCompoundDrawablesWithIntrinsicBounds(0,0, R.mipmap.a_small_developup,0);
//            mUpListView.setVisibility(View.VISIBLE);
//            MobclickEventUtlis.MobclickEventByAccountType(getActivity(),"ClickRoseOpen");
//        }else{
//            mPrecentUpView.setSelected(true);
//            mPrecentUpView.setCompoundDrawablesWithIntrinsicBounds(0,0, R.mipmap.a_small_developdown,0);
//            mUpListView.setVisibility(View.GONE);
//            MobclickEventUtlis.MobclickEventByAccountType(getActivity(),"ClickRoseStop");
//        }
//    }
//
//    @OnClick(R.id.percent_down_title)
//    void onDownClik(){
//        if(mPrecentDownView.isSelected()){
//            mPrecentDownView.setSelected(false);
//            mPrecentDownView.setCompoundDrawablesWithIntrinsicBounds(0,0, R.mipmap.a_small_developup,0);
//            mDownListView.setVisibility(View.VISIBLE);
//            MobclickEventUtlis.MobclickEventByAccountType(getActivity(),"ClickDropOpen");
//        }else{
//            mPrecentDownView.setSelected(true);
//            mPrecentDownView.setCompoundDrawablesWithIntrinsicBounds(0,0, R.mipmap.a_small_developdown,0);
//            mDownListView.setVisibility(View.GONE);
//            MobclickEventUtlis.MobclickEventByAccountType(getActivity(),"ClickDropStop");
//        }
//    }
//
//    @Override
//    public void onSendQuote() {
//        if(!isVisible()||!isResumed()){
//            return;
//        }
//        DataItemResult mList = DataManager.instance().mPositionInfoList;
//        for (int j = 0; j < mList.getDataCount(); j++){
////            Logger.e("gw.com.android", "mPositionInfoList.get(j).uiCode == " + mList.get(j).uiCode +", " + mList.get(j).uiOppoCode);
//            DataItemDetail item = mList.getItem(j);
//            if(null != item && item.getInt(GTSConst.JSON_KEY_CODEID) != 0){
//                hashSet.add(item.getInt(GTSConst.JSON_KEY_CODEID));
//                if(item.getInt(GTSConst.JSON_KEY_CODEMIDDLE) != 0){
//                    hashSet.add(item.getInt(GTSConst.JSON_KEY_CODEMIDDLE));
//                }
//            }
//        }
//
//        DataItemResult mList2 = DataManager.instance().mOrderInfoList;
//        for (int j = 0; j < mList2.getDataCount(); j++){
////            Logger.e("gw.com.android", "mPositionInfoList.get(j).uiCode == " + mList.get(j).uiCode +", " + mList.get(j).uiOppoCode);
//            DataItemDetail item = mList2.getItem(j);
//            if(null != item && item.getInt(GTSConst.JSON_KEY_CODEID) != 0){
//                hashSet.add(item.getInt(GTSConst.JSON_KEY_CODEID)) ;
//            }
//        }
//        //人民币账号固定订阅美元人民币产品
//        if(DataManager.instance().isCNY()){
//            hashSet.add(GTSConst.CNY_CODE);
//        }
//
//        ArrayList<Integer> codeList = new ArrayList<Integer>();
//        codeList.addAll (hashSet);
//
//        DataManager.instance().setQuoteCodes(codeList);
//        AppTerminal.instance().sendQuoteSubscribe(codeList);
//    }
//
//    @Override
//    public void onResume() {
//        super.onResume();
//        if(isVisible()){
//            onSymbolNotify();
//        }
//    }
//
//    @Override
//    public void onHiddenChanged(boolean hidden) {
//        super.onHiddenChanged(hidden);
//        if(!hidden){
//            onSymbolNotify();
//        }else{
//            cancelTask();
//        }
//    }
//
//    @Override
//    public void onSymbolNotify() {
//        if(DataManager.instance().getLoadDataState(GTSConst.ZONE_TYPE_ALL+"")){
//            hashSet.clear();
//            getUpProduct();
//            getDownProduct();
//            getSpeedProduct();
//            onSendQuote();
//            mContentView.setVisibility(View.VISIBLE);
//            initTimerTask();
//        }else{
//            hashSet.clear();
//            mUpData.clear();
//            if(null != mUpAdapter){
//                mUpAdapter.refreshData(mUpData);
//                mUpAdapter.notifyDataSetChanged();
//            }
//            mDownData.clear();
//            if(null != mDownAdapter){
//                mDownAdapter.refreshData(mDownData);
//                mDownAdapter.notifyDataSetChanged();
//            }
//            mSpeedData.clear();
//            if(null != mSpeedAdapter){
//                mSpeedAdapter.refreshData(mSpeedData);
//                mSpeedAdapter.notifyDataSetChanged();
//            }
//            mContentView.setVisibility(View.GONE);
//        }
//    }
//
//    @Override
//    public void onSymbolNotify(int codeId) {
//        super.onSymbolNotify(codeId);
//        if(null != mSpeedAdapter){
//            mSpeedAdapter.refreshData(codeId);
//        }
//        if(null != mUpAdapter){
//            mUpAdapter.refreshData(codeId);
//        }
//        if(null != mDownAdapter){
//            mDownAdapter.refreshData(codeId);
//        }
//    }
//}
